package a_doubleWrite;

/**
 * 14. 最长公共前缀
 * 编写一个函数来查找字符串数组中的最长公共前缀。
 * <p>
 * 如果不存在公共前缀，返回空字符串 ""。
 *
 * @author: luolidong
 * @create: 2021-07-17 11:14
 * @version: 1.0
 */
public class L14 {
    public String longestCommonPrefix(String[] strs) {
        if (strs == null) return "";
        if (strs.length == 1) return strs[0];

        int right = 0;
        int len = Integer.MAX_VALUE;
        for (String str : strs) {
            len = Math.min(str.length(), len);
        }
        int j = 0;

        outer:
        while (j < len) {
            char c = strs[0].charAt(j);
            for (int i = 1; i < strs.length; i++) {
                if (c != strs[i].charAt(j)) {
                    break outer;
                }
            }
            right++;
            j++;
        }


        if (right == 0) {
            return "";
        }
        return strs[0].substring(0, right);
    }
}
